Skip to content

Make Cyd open source#368

Merged
micahflee merged 15 commits intomainfrom
366-open-source
Jan 23, 2025
Merged

Make Cyd open source#368
micahflee merged 15 commits intomainfrom
366-open-source

Conversation

@micahflee
Copy link
Member

@micahflee micahflee commented Jan 16, 2025

Fixes #366.

When reviewing, check out the new source tree: https://github.com/lockdown-systems/cyd/tree/366-open-source and specifically read the code of conduct and CLA. Now's the time to finalize how we want to word them.

New documentation

I've added DEVELOPMENT.md with instructions for open source contributors to set up their dev environments.

I've updated README.md which you can read here: https://github.com/lockdown-systems/cyd/blob/366-open-source/README.md

I moved the old release documentation to the cyd-server wiki.

Open mode

I've made a new mode called "open", which you can use by running npm run config-open. This allows Cyd to work without a server. When you start Cyd in open mode, it shows this message:

Screenshot 2025-01-16 at 11 15 57 AM

If you're in open mode and you click the menu in the bottom left and choose "Sign in to Cyd to access premium features", this is what the SignInModal looks like now:

Screenshot 2025-01-17 at 6 06 54 PM

And if you try to use premium features in X, instead of verifying that you're authenticated to the server and have a premium account, it shows this question and lets you proceed anyway:

Screenshot 2025-01-17 at 6 07 59 PM

License and community

I've added GPLv3 to LICENSE.

I added bug report and feature request issue templates in this commit, already pushed to main, because I used the github UI for it.

I added the default code of conduct from the Contributor Covenant.

I added a Contributor License Agreement that I got from Contributor Agreements and slightly modified. Specifically, I made it so that by contributing to the project you automatically agree, so we don't need to keep track of any signed documents from contributors.

Security issues

The readme says to report security issues to security@lockdown.systems. Once the repo is public, we can also enable private security bug submissions within github: https://docs.github.com/en/code-security/security-advisories/working-with-repository-security-advisories/configuring-private-vulnerability-reporting-for-a-repository

And while I was at it, I updated the contact email within the app to be collective@lockdown.systems in this PR.

@micahflee micahflee mentioned this pull request Jan 16, 2025
6 tasks
@SaptakS
Copy link
Contributor

SaptakS commented Jan 17, 2025

I like the message. Is there some way we can also limit the "open" mode to avoid people from using it as their main app? Also, what is stopping a contributor from running "prod" mode? Can we add some kind of auth?

@micahflee
Copy link
Member Author

I like the message. Is there some way we can also limit the "open" mode to avoid people from using it as their main app? Also, what is stopping a contributor from running "prod" mode? Can we add some kind of auth?

Can you think of any ways to limit open mode to prevent people from using it as their main app? I'm not sure it's really possible. I think the main barrier is that people will need to git clone and run from source to do that, as opposed to just downloading the pre-built binary.

As far as local, dev, and prod modes, there actually is already auth, sort of. If you set local, dev, or prod, all this does is set the URL of the server API. Local is localhost:5000, dev is dev-api.cyd.social, and prod is api.cyd.social. People won't be able to use local without running a local server. And there's auth on dev and prod. Dev has an allowlist of email addresses that are allowed to make accounts, and people can use prod (even from source) if they want, but they'll have to pay for a premium plan to unlock the premium features.

The thing that open mode changes is, all features are automatically unlocked without needing any sort of authentication. It will just show you notes that say things like "please pay if you're not contributing to the project."

@SaptakS
Copy link
Contributor

SaptakS commented Jan 20, 2025

looked through the changes till now. It makes sense to me.

@micahflee micahflee marked this pull request as ready for review January 22, 2025 21:12
@SaptakS
Copy link
Contributor

SaptakS commented Jan 23, 2025

Went through the PR, looks good to me. I do think it might be worth mentioning other types of contribution such as documentation and design and such, but I don't think we have a workflow for those yet, so can be added later.

Copy link
Contributor

@redshiftzero redshiftzero left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@micahflee micahflee merged commit 1240af6 into main Jan 23, 2025
1 check passed
@micahflee micahflee deleted the 366-open-source branch January 23, 2025 19:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Release Cyd as open source

3 participants